package com.gxp.system.service.impl;

import com.gxp.system.domain.ZkAudit;
import com.gxp.system.mapper.ZkAuditMapper;
import com.gxp.system.service.IZkAuditService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 审计Service业务层处理
 *
 * @author zh
 * @date 2024-12-09
 */
@Service
public class ZkAuditServiceImpl implements IZkAuditService
{
    @Autowired
    private ZkAuditMapper zkAuditMapper;

    /**
     * 查询审计
     *
     * @param auditId 审计主键
     * @return 审计
     */
    @Override
    public ZkAudit selectZkAuditByAuditId(Long auditId)
    {
        return zkAuditMapper.selectZkAuditByAuditId(auditId);
    }

    /**
     * 查询审计列表
     *
     * @param zkAudit 审计
     * @return 审计
     */
    @Override
    public List<ZkAudit> selectZkAuditList(ZkAudit zkAudit)
    {
        return zkAuditMapper.selectZkAuditList(zkAudit);
    }

    /**
     * 新增审计
     *
     * @param zkAudit 审计
     * @return 结果
     */
    @Override
    public int insertZkAudit(ZkAudit zkAudit)
    {
        return zkAuditMapper.insertZkAudit(zkAudit);
    }

    /**
     * 清空记录
     */
    @Override
    public void cleanAudit() {
        zkAuditMapper.cleanZkAudit();
    }

    @Override
    public List<ZkAudit> selectZkAuditListByReqId(ZkAudit audit) {
        return null;
    }

    /**
     * 根据服务查询审计列表
     * @param audit
     * @return
     */
    @Override
    public List<ZkAudit> selectZkAuditListForService(ZkAudit audit) {

        return zkAuditMapper.selectZkAuditListForService(audit);
    }

    /**
     * 根据方法查询审计列表
     * @param audit
     * @return
     */
    @Override
    public List<ZkAudit> selectZkAuditListForMethod(ZkAudit audit) {
        return zkAuditMapper.selectZkAuditListForMethod(audit);
    }

    /**
     * 根据仪器查询审计列表
     * @param audit
     * @return
     */
    @Override
    public List<ZkAudit> selectZkAuditListForInstrument(ZkAudit audit) {
        return zkAuditMapper.selectZkAuditListForInstrument(audit);
    }

    @Override
    public int updateZkAudit(ZkAudit zkAudit) {
        return zkAuditMapper.updateZkAudit(zkAudit);
    }

    //    /**
//     * 新增审计
//     * @param title 审计模块（User And Role， Project， ...）
//     * @param type 审计类型（新增， 修改， 删除...）
//     * @param wher 操作位置（PC Name/SpinStudio多个用“，”隔开）
//     * @param version 版本号
//     * @param what 操作内容
//     * @param comment 备注
//     * @param who 操作人
//     * @param ip IP地址
//     * @param operStatus 操作结果（成功或者失败，失败带上msg）
//     * @param errorMsg 失败信息
//     * @param time 操作时间
//     */
//    @Override
//    public int insertZkAudit(String title, String type, String wher, String version, String what, String comment, String who, String ip, String operStatus, String errorMsg, Date time) {
//        ZkAudit audit = new ZkAudit();
//        audit.setTitle(title);
//        audit.setType(type);
//        audit.setWher(wher);
//        audit.setVersion(version);
//        audit.setWhat(what);
//        audit.setComment(comment);
//        audit.setWho(who);
//        audit.setIp(ip);
//        audit.setOperStatus(operStatus);
//        audit.setErrorMsg(errorMsg);
//        audit.setTime(time);
//        return insertZkAudit(audit);
//    }
//
//    @Override
//    public int insertZkAudit(String title, String type, String what, String comment, String operStatus, String errorMsg) {
//        return insertZkAudit(title, type, what, comment, IpUtils.getHostIp(), operStatus, errorMsg);
//    }
//
//    @Override
//    public int insertZkAudit(String title, String type, String what, String comment, String ip, String operStatus, String errorMsg) {
//        return insertZkAudit(title, type, what, comment, ShiroUtils.getLoginName(), ip, operStatus, errorMsg);
//    }
//
//    @Override
//    public int insertZkAudit(String title, String type, String what, String comment, String who, String ip, String operStatus, String errorMsg) {
//        return insertZkAudit(title, type, IpUtils.getHostName(), GxPConfig.getVersion(), what, comment, who, ip, operStatus, errorMsg);
//    }
//
//    @Override
//    public int insertZkAudit(String title, String type, String wher, String version, String what, String comment, String who, String ip, String operStatus, String errorMsg) {
//        return insertZkAudit(title, type, wher, version, what, comment, who, ip, operStatus, errorMsg, DateUtils.getNowDate());
//    }
}
